
import { Vector2 } from 'three';
import { AK } from '../const/ModelConst';
import MeshGeomLib from './MeshGeomLib';
import ParamMerge from './ParamMerge';


export default class AModelFmulaUtils {

    /**
     * 解析初始化
     */
    static getAluObject(obj: any, obj2: any = null): any {
        let i: number, j: number, m: number, n: number, arr: any;
        let o = this.getAluNames();
        let oo = {}, oooo;
        let arr2 = [];
        arr = obj.formDTOList;
        let ooo = {};
        let ooo2 = {};
        for (i = 0; i < arr.length; i++) {
            let vs = arr[i].formValueList;
            if (vs) {
                for (j = 0; j < vs.length; j++) {
                    let c = o[vs[j].metadataId];
                    oo[c] = Number(vs[j].value);
                    if (isNaN(oo[c])) {
                        oo[c] = vs[j].value;
                    }
                }
            }
            let ss = arr[i].formSubDTOList;
            if (ss) {
                for (j = 0; j < ss.length; j++) {
                    arr2 = [];
                    let cs = ss[j].formSubCollectionList;
                    if (cs) {
                        for (m = 0; m < cs.length; m++) {
                            let cvs = cs[m].formSubCollectionValueList;
                            if (cvs) {
                                oooo = {};
                                for (n = 0; n < cvs.length; n++) {
                                    let d = o[cvs[n].metadataId];
                                    oooo[d] = cvs[n].value;
                                    if (j === 0 && m === 0) {
                                        ooo2[d] = Number(cvs[n].value);
                                        if (isNaN(ooo2[d])) {
                                            ooo2[d] = cvs[n].value;
                                        }
                                    }
                                }
                            }
                            arr2.push(oooo);
                        }
                    }
                    oo[o[ss[j].formId]] = arr2;
                }
            }
        }

        if (obj2) {
            oo = Object.assign(oo, obj2);
            this.getAluExpress(obj2, oo, obj.code);
        } else {
            oo = Object.assign(oo, ooo2);
            this.getAluExpress(ooo2, oo, obj.code);
        }
        // oo['savedata'] = obj;

        ParamMerge.ins.merge(oo, obj.code);
        delete oo[AK.cycc];
        return oo;
    }


    static getAluExpress(o: any, obj: any, id: number = 1): void {
        let i: number, j: number, expressarr: any;
        let arrrr = [];
        let bo = false;
        let objjj = {};
        let faceArrr = [];
        let www: number = 0, lll: number = 0, hhh: number = 0;
        switch (Number(id)) {
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
            case 6:
            case 12:
            case 13:
            case 14:
            case 15:
            case 16:
            case 17:
            case 18:
            case 19:
            case 25:
            case 28:
            case 37:
            case 42:
            case 45:
            case 46:
                if (o) {
                    if (obj[AK.sxbkk]) {
                        for (i = 0; i < obj[AK.sxbkk].length; i++) {
                            if (Number(obj[AK.sxbkk][i][AK.minL]) <= o[AK.L] && Number(obj[AK.sxbkk][i][AK.maxL]) >= o[AK.L] &&
                                Number(obj[AK.sxbkk][i][AK.minW]) <= o[AK.W] && Number(obj[AK.sxbkk][i][AK.maxW]) >= o[AK.W]) {
                                expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.sxbkk][i][AK.KKGZ], 2);
                                arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.W]);
                                objjj = { express: expressarr[0], L: o[AK.W] };
                                obj['D' + AK.sxbkk] = obj[AK.sxbkk][i][AK.KKGZ];
                                obj['C' + AK.sxbkk] = obj[AK.sxbkk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                                // obj['E' + AK.sxbkk] = AModelFmulaUtils.getFmulaMode(arrrr, 2, objjj);
                                break;
                            }
                        }
                        delete obj[AK.sxbkk];
                    }

                    if (obj[AK.zybkk]) {
                        lll = o[AK.L] ? o[AK.L] : o[AK.zyL] > o[AK.yyL] ? o[AK.zyL] : o[AK.yyL];
                        for (i = 0; i < obj[AK.zybkk].length; i++) {
                            if (Number(obj[AK.zybkk][i][AK.minL]) <= o[AK.L] && Number(obj[AK.zybkk][i][AK.maxL]) >= o[AK.L] &&
                                Number(obj[AK.zybkk][i][AK.minW]) <= o[AK.W] && Number(obj[AK.zybkk][i][AK.maxW]) >= o[AK.W]) {
                                expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.zybkk][i][AK.KKGZ], 2);
                                objjj = { express: expressarr[0], L: o[AK.L] };
                                arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.L]);
                                obj['D' + AK.zybkk] = obj[AK.zybkk][i][AK.KKGZ];
                                obj['C' + AK.zybkk] = obj[AK.zybkk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                                // obj['E' + AK.zybkk] = AModelFmulaUtils.getFmulaMode(arrrr, 2, objjj);
                                break;
                            }
                        }
                        delete obj[AK.zybkk];
                    }

                    if (obj[AK.sldw]) {
                        for (i = 0; i < obj[AK.sldw].length; i++) {
                            if (Number(obj[AK.sldw][i][AK.minW] <= o[AK.W]) && Number(obj[AK.sldw][i][AK.maxW]) >= o[AK.W]) {
                                obj[AK.SLW] = Number(obj[AK.sldw][i][AK.SLW]);
                                obj[AK.SLH] = Number(obj[AK.sldw][i][AK.SLH]);
                                expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.sldw][i][AK.DWGZ], 2);
                                objjj = { express: expressarr[0], L: o[AK.W] };
                                arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.W]);
                                obj['D' + AK.sldw] = obj[AK.sldw][i][AK.DWGZ];
                                obj['C' + AK.sldw] = AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                                // obj['E' + AK.sldw] = AModelFmulaUtils.getFmulaMode(arrrr, 2, objjj);
                                break;
                            }
                        }
                        delete obj[AK.sldw];
                    }

                    if (obj[AK.hldw]) {
                        for (i = 0; i < obj[AK.hldw].length; i++) {
                            if (Number(obj[AK.hldw][i][AK.minL]) <= o[AK.L] && Number(obj[AK.hldw][i][AK.maxL]) >= o[AK.L]) {
                                obj[AK.HLW] = Number(obj[AK.hldw][i][AK.HLW]);
                                obj[AK.HLH] = Number(obj[AK.hldw][i][AK.HLH]);
                                expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.hldw][i][AK.DWGZ], 2);
                                objjj = { express: expressarr[0], L: o[AK.L] };
                                arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.L]);
                                obj['D' + AK.hldw] = obj[AK.hldw][i][AK.DWGZ];
                                obj['C' + AK.hldw] = AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                                // obj['E' + AK.hldw] = AModelFmulaUtils.getFmulaMode(arrrr, 2, objjj);
                                break;
                            }
                        }
                        delete obj[AK.hldw];
                    }

                    delete obj[AK.hldw];
                    if (obj[AK.lgkdw]) {
                        for (i = 0; i < obj[AK.lgkdw].length; i++) {
                            if (Number(obj[AK.lgkdw][i][AK.minL]) <= o[AK.L] && Number(obj[AK.lgkdw][i][AK.maxL]) >= o[AK.L]) {
                                expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.lgkdw][i][AK.KKGZ], 2);
                                arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.L], o[AK.W], 3);
                                objjj = { express: expressarr[0] };
                                obj['D' + AK.lgkdw] = obj[AK.lgkdw][i][AK.KKGZ];
                                obj['C' + AK.lgkdw] = AModelFmulaUtils.getFmulaMode(arrrr, 3, objjj);
                                // obj['E' + AK.lgkdw] = AModelFmulaUtils.getFmulaMode(arrrr, 3, objjj);
                                faceArrr.push()
                                break;
                            }
                        }
                        delete obj[AK.lgkdw];
                    }

                    // if (obj[AK.spkfa]) {
                    //     for (i = 0; i < obj[AK.spkfa].length; i++) {
                    //         if (Number(obj[AK.spkfa][i][AK.minL]) <= o[AK.L] && Number(obj[AK.spkfa][i][AK.maxL]) >= o[AK.L] &&
                    //         Number(obj[AK.spkfa][i][AK.minW]) <= o[AK.W] && Number(obj[AK.spkfa][i][AK.maxW]) >= o[AK.W]) {
                    //             expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.spkfa][i][AK.KKGZ], 2);
                    //             arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.L], o[AK.W],3);
                    //             objjj = { express: expressarr[0] };
                    //             obj['D' + AK.spkfa] = obj[AK.spkfa][i][AK.KKGZ];
                    //             obj['C' + AK.spkfa] = AModelFmulaUtils.getFmulaMode(arrrr, 3, objjj);
                    //             // obj['E' + AK.spkfa] = AModelFmulaUtils.getFmulaMode(arrrr, 3, objjj);
                    //             break;
                    //         }
                    //     }
                    // }

                    if (obj[AK.dpkfa]) {
                        for (i = 0; i < obj[AK.dpkfa].length; i++) {
                            if (Number(obj[AK.dpkfa][i][AK.minL]) <= o[AK.L] && Number(obj[AK.dpkfa][i][AK.maxL]) >= o[AK.L] &&
                                Number(obj[AK.dpkfa][i][AK.minW]) <= o[AK.W] && Number(obj[AK.dpkfa][i][AK.maxW]) >= o[AK.W]) {
                                expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.dpkfa][i][AK.KKGZ], 2);
                                arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.L], o[AK.W], 3);
                                objjj = { express: expressarr[0], L: o[AK.L] };
                                obj['D' + AK.dpkfa] = obj[AK.dpkfa][i][AK.KKGZ];
                                obj['C' + AK.dpkfa] = AModelFmulaUtils.getFmulaMode(arrrr, 3, objjj);
                                // obj['E' + AK.dpkfa] = AModelFmulaUtils.getFmulaMode(arrrr, 3, objjj);
                                break;
                            }
                        }
                        delete obj[AK.dpkfa];
                    }
                    if (obj[AK.Lpkk]) {
                        for (i = 0; i < obj[AK.Lpkk].length; i++) {
                            if (Number(obj[AK.Lpkk][i][AK.minW]) <= o[AK.W] && Number(obj[AK.Lpkk][i][AK.maxW]) >= o[AK.W]) {
                                expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.Lpkk][i][AK.KKGZ], 2);
                                arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.W]);
                                objjj = { express: expressarr[0], L: o[AK.W] };
                                obj['D' + AK.Lpkk] = obj[AK.Lpkk][i][AK.KKGZ];
                                obj['C' + AK.Lpkk] = obj[AK.Lpkk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                                // obj['E' + AK.Lpkk] = AModelFmulaUtils.getFmulaMode(arrrr, 2, objjj);
                                break;
                            }
                        }
                        delete obj[AK.Lpkk];
                    }

                    if (obj[AK.fbpk]) {
                        www = o[AK.W] ? o[AK.W] : o[AK.zyW] > o[AK.yyW] ? o[AK.zyW] : o[AK.yyW];
                        for (i = 0; i < obj[AK.fbpk].length; i++) {
                            if (Number(obj[AK.fbpk][i][AK.minW]) <= www && Number(obj[AK.fbpk][i][AK.maxW]) >= www) {
                                expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.fbpk][i][AK.KKGZ], 2);

                                objjj = { express: expressarr[0], L: www };
                                obj['D' + AK.fbpk] = obj[AK.fbpk][i][AK.KKGZ];
                                if (o[AK.zyW]) {
                                    // arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.zyW]);
                                    // objjj = { express: expressarr[0], L: o[AK.zyW] };
                                    obj[`C` + AK.p_zfenkw] = obj[AK.fbpk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                                }
                                if (o[AK.yyW]) {
                                    // arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.yyW]);
                                    // objjj = { express: expressarr[0], L: o[AK.yyW] };
                                    obj[`C` + AK.p_yfenkw] = obj[AK.fbpk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                                }
                                obj['C' + AK.fbpk] = AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                                // obj['E' + AK.fbpk] = AModelFmulaUtils.getFmulaMode(arrrr, 2, objjj);
                                break;
                            }
                        }
                        delete obj[AK.fbpk];
                    }

                    if (obj[AK.Rpkk]) {
                        for (i = 0; i < obj[AK.Rpkk].length; i++) {
                            if (Number(obj[AK.Rpkk][i][AK.minH]) <= o[AK.H] && Number(obj[AK.Rpkk][i][AK.maxH]) >= o[AK.H]) {
                                expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.Rpkk][i][AK.KKGZ], 2);
                                arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.H]);
                                objjj = { express: expressarr[0], L: o[AK.H] };
                                obj['D' + AK.Rpkk] = obj[AK.Rpkk][i][AK.KKGZ];
                                obj['C' + AK.Rpkk] = obj[AK.Rpkk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                                // obj['E' + AK.Rpkk] = AModelFmulaUtils.getFmulaMode(arrrr, 2, objjj);
                                break;
                            }
                        }
                        delete obj[AK.Rpkk];
                    }

                    if (obj[AK.fbsk]) {
                        for (i = 0; i < obj[AK.fbsk].length; i++) {
                            if (Number(obj[AK.fbsk][i][AK.minH]) <= o[AK.H] && Number(obj[AK.fbsk][i][AK.maxH]) >= o[AK.H]) {
                                expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.fbsk][i][AK.KKGZ], 2);
                                arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.H]);
                                objjj = { express: expressarr[0], L: o[AK.H] };
                                obj['D' + AK.fbsk] = obj[AK.fbsk][i][AK.KKGZ];
                                obj[AK.p_fbsk] = obj[AK.fbsk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj).toString();
                                // obj['E' + AK.fbsk] = AModelFmulaUtils.getFmulaMode(arrrr, 2, objjj);
                                break;
                            }
                        }
                        delete obj[AK.fbsk];
                    }

                    if (obj[AK.zyysk]) {
                        for (i = 0; i < obj[AK.zyysk].length; i++) {
                            if (Number(obj[AK.zyysk][i][AK.minL]) <= o[AK.L] && Number(obj[AK.zyysk][i][AK.maxL]) >= o[AK.L]) {
                                expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.zyysk][i][AK.KKGZ], 2);

                                objjj = { express: expressarr[0], L: o[AK.L] };
                                obj['D' + AK.zyysk] = obj[AK.zyysk][i][AK.KKGZ];
                                if (o[AK.zyL]) {
                                    // arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.zyL]);
                                    // objjj = { express: expressarr[0], L: o[AK.zyL] };
                                    obj[`C` + 'p_zysk'] = obj[AK.zyysk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                                    // arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.yyL]);
                                    // objjj = { express: expressarr[0], L: o[AK.yyL] };
                                    obj[`C` + 'p_yysk'] = obj[AK.zyysk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                                }
                                obj['C' + AK.zyysk] = AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                                // obj['E' + AK.zyysk] = AModelFmulaUtils.getFmulaMode(arrrr, 2, objjj);
                                break;
                            }
                        }
                        delete obj[AK.zyysk];
                    }

                    if (obj[AK.xbkpk]) {
                        lll = o[AK.L] ? o[AK.L] : o[AK.zyL] > o[AK.yyL] ? o[AK.zyL] : o[AK.yyL];
                        for (i = 0; i < obj[AK.xbkpk].length; i++) {
                            if (Number(obj[AK.xbkpk][i][AK.minL]) <= lll && Number(obj[AK.xbkpk][i][AK.maxL]) >= lll) {
                                expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.xbkpk][i][AK.KKGZ], 2);

                                objjj = { express: expressarr[0], L: o[AK.L] };
                                obj['D' + AK.xbkpk] = obj[AK.xbkpk][i][AK.KKGZ];
                                if (o[AK.zyL]) {
                                    // arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.zyL]);
                                    // objjj = { express: expressarr[0], L: o[AK.zyL] };
                                    obj[`C` + AK.p_zyxkpk] = obj[AK.xbkpk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                                    // arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.yyL]);
                                    // objjj = { express: expressarr[0], L: o[AK.yyL] };
                                    obj[`C` + AK.p_yyxkpk] = obj[AK.xbkpk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                                }
                                obj['C' + AK.xbkpk] = AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                                // obj['E' + AK.xbkpk] = AModelFmulaUtils.getFmulaMode(arrrr, 2, objjj);
                                break;
                            }
                        }
                        delete obj[AK.xbkpk];
                    }

                }
                break;
            case 7:
            case 8:
            case 9:
            case 10:
            case 20:
            case 21:
            case 22:
            case 24:
            case 29:
            case 30:
            case 31:
            case 40:
                if (obj[AK.sxbkk]) {
                    for (i = 0; i < obj[AK.sxbkk].length; i++) {
                        if (Number(obj[AK.sxbkk][i][AK.minW]) <= o[AK.W] && Number(obj[AK.sxbkk][i][AK.maxW]) >= o[AK.W]) {
                            expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.sxbkk][i][AK.KKGZ], 2);
                            arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.W]);
                            objjj = { express: expressarr[0], L: o[AK.W] };
                            obj['D' + AK.sxbkk] = obj[AK.sxbkk][i][AK.KKGZ];
                            obj['C' + AK.sxbkk] = obj[AK.sxbkk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                            // obj['E' + AK.sxbkk] = AModelFmulaUtils.getFmulaMode(arrrr, 2, objjj);
                            break;
                        }
                    }
                    delete obj[AK.sxbkk];
                }

                if (obj[AK.zyxqsz]) {
                    for (i = 0; i < obj[AK.zyxqsz].length; i++) {
                        if (Number(obj[AK.zyxqsz][i][AK.minL]) <= o[AK.L] && Number(obj[AK.zyxqsz][i][AK.maxL]) >= o[AK.L]) {
                            obj[AK.xqbj] = Number(obj[AK.zyxqsz][i][AK.xqbj]);
                            obj[AK.zyxqjl] = Number(obj[AK.zyxqsz][i][AK.zyxqjl]);
                            break;
                        }
                    }
                    delete obj[AK.zyxqsz];
                }

                if (obj[AK.zybkk]) {
                    lll = o[AK.L] ? o[AK.L] : o[AK.zyL] > o[AK.yyL] ? o[AK.zyL] : o[AK.yyL];
                    for (i = 0; i < obj[AK.zybkk].length; i++) {
                        if (Number(obj[AK.zybkk][i][AK.minL]) <= lll && Number(obj[AK.zybkk][i][AK.maxL]) >= lll) {
                            expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.zybkk][i][AK.KKGZ], 2);
                            arrrr = AModelFmulaUtils.getExpressByMould(expressarr, lll);
                            objjj = { express: expressarr[0], L: lll };
                            obj['D' + AK.zybkk] = obj[AK.zybkk][i][AK.KKGZ];
                            obj['C' + AK.zybkk] = obj[AK.zybkk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                            // obj['E' + AK.zybkk] = AModelFmulaUtils.getFmulaMode(arrrr, 2, objjj);
                            break;
                        }
                    }
                    delete obj[AK.zybkk];
                }

                if (obj[AK.sbkk]) {
                    lll = o[AK.L] ? o[AK.L] : o[AK.zyL] > o[AK.yyL] ? o[AK.zyL] : o[AK.yyL];
                    for (i = 0; i < obj[AK.sbkk].length; i++) {
                        if (Number(obj[AK.sbkk][i][AK.minL]) <= lll && Number(obj[AK.sbkk][i][AK.maxL]) >= lll) {
                            expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.sbkk][i][AK.KKGZ], 2);
                            arrrr = AModelFmulaUtils.getExpressByMould(expressarr, lll);
                            objjj = { express: expressarr[0], L: lll };
                            obj['D' + AK.sbkk] = obj[AK.sbkk][i][AK.KKGZ];
                            obj['C' + AK.sbkk] = obj[AK.sbkk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);;
                            // obj['E' + AK.sbkk] = AModelFmulaUtils.getFmulaMode(arrrr, 2, objjj);
                            break;
                        }
                    }
                    delete obj[AK.sbkk];
                }

                if (obj[AK.Lpkk]) {
                    for (i = 0; i < obj[AK.Lpkk].length; i++) {
                        if (Number(obj[AK.Lpkk][i][AK.minW]) <= o[AK.W] && Number(obj[AK.Lpkk][i][AK.maxW]) >= o[AK.W]) {
                            expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.Lpkk][i][AK.KKGZ], 2);
                            arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.W]);
                            objjj = { express: expressarr[0], L: o[AK.W] };
                            obj['D' + AK.Lpkk] = obj[AK.Lpkk][i][AK.KKGZ];
                            obj['C' + AK.Lpkk] = obj[AK.Lpkk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                            // obj['E' + AK.Lpkk] = AModelFmulaUtils.getFmulaMode(arrrr, 2, objjj);
                            break;
                        }
                    }
                    delete obj[AK.Lpkk];
                }


                if (obj[AK.Rpkk]) {
                    for (i = 0; i < obj[AK.Rpkk].length; i++) {
                        if (Number(obj[AK.Rpkk][i][AK.minH]) <= o[AK.H] && Number(obj[AK.Rpkk][i][AK.maxH]) >= o[AK.H]) {
                            expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.Rpkk][i][AK.KKGZ], 2);
                            arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.H]);
                            objjj = { express: expressarr[0], L: o[AK.H] };
                            obj['D' + AK.Rpkk] = obj[AK.Rpkk][i][AK.KKGZ];
                            obj['C' + AK.Rpkk] = obj[AK.Rpkk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                            // obj['E' + AK.Rpkk] = AModelFmulaUtils.getFmulaMode(arrrr, 2, objjj);
                            break;
                        }
                    }
                    delete obj[AK.Rpkk];
                }

                if (obj[AK.zyysk]) {
                    lll = o[AK.L] ? o[AK.L] : o[AK.zyL] > o[AK.yyL] ? o[AK.zyL] : o[AK.yyL];
                    for (i = 0; i < obj[AK.zyysk].length; i++) {
                        if (Number(obj[AK.zyysk][i][AK.minL]) <= lll && Number(obj[AK.zyysk][i][AK.maxL]) >= lll) {
                            expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.zyysk][i][AK.KKGZ], 2);

                            objjj = { express: expressarr[0], L: 3000 };
                            obj['D' + AK.zyysk] = obj[AK.zyysk][i][AK.KKGZ];
                            if (o[AK.zyL]) {
                                // arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.zyL]);
                                // objjj = { express: expressarr[0], L: o[AK.zyL] };
                                obj[`C` + 'p_zysk'] = obj[AK.zyysk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                                // arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.yyL]);
                                // objjj = { express: expressarr[0], L: o[AK.yyL] };
                                obj[`C` + 'p_yysk'] = obj[AK.zyysk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                            }
                            obj['C' + AK.zyysk] = AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                            // obj['E' + AK.zyysk] = AModelFmulaUtils.getFmulaMode(arrrr, 2, objjj);
                            break;
                        }
                    }
                    delete obj[AK.zyysk];
                }

                if (obj[AK.xbkpk]) {
                    lll = o[AK.L] ? o[AK.L] : o[AK.zyL] > o[AK.yyL] ? o[AK.zyL] : o[AK.yyL];
                    for (i = 0; i < obj[AK.xbkpk].length; i++) {
                        if (Number(obj[AK.xbkpk][i][AK.minL]) <= lll && Number(obj[AK.xbkpk][i][AK.maxL]) >= lll) {
                            expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.xbkpk][i][AK.KKGZ], 2);

                            objjj = { express: expressarr[0], L: lll };
                            obj['D' + AK.xbkpk] = obj[AK.xbkpk][i][AK.KKGZ];
                            if (o[AK.zyL]) {
                                // arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.zyL]);
                                // objjj = { express: expressarr[0], L: o[AK.zyL] };
                                obj[`C` + AK.p_zyxkpk] = obj[AK.xbkpk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                                // arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.yyL]);
                                // objjj = { express: 0, L: o[AK.yyL] };
                                obj[`C` + AK.p_yyxkpk] = obj[AK.xbkpk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                            }
                            obj['C' + AK.xbkpk] = AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                            // obj['E' + AK.xbkpk] = AModelFmulaUtils.getFmulaMode(arrrr, 2, objjj);
                            break;
                        }
                    }
                    delete obj[AK.xbkpk];
                }


                if (obj[AK.zyywkk]) {
                    lll = o[AK.L] ? o[AK.L] : o[AK.zyL] > o[AK.yyL] ? o[AK.zyL] : o[AK.yyL];
                    for (i = 0; i < obj[AK.zyywkk].length; i++) {
                        if (Number(obj[AK.zyywkk][i][AK.minL]) <= lll && Number(obj[AK.zyywkk][i][AK.maxL]) >= lll) {
                            expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.zyywkk][i][AK.KKGZ], 2);

                            objjj = { express: expressarr[0], L: lll };
                            obj['D' + AK.zyywkk] = obj[AK.zyywkk][i][AK.KKGZ];
                            if (o[AK.zyL]) {
                                // arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.zyL]);
                                // objjj = { express: expressarr[0], L: o[AK.zyL] };
                                obj[AK.p_zywsk] = obj[AK.zyywkk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj).toString();
                                // arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.yyL]);
                                // objjj = { express: expressarr[0], L: o[AK.yyL] };
                                obj[AK.p_yywsk] = obj[AK.zyywkk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj).toString();
                            }
                            obj['C' + AK.zyywkk] = AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                            // obj['E' + AK.zyywkk] = AModelFmulaUtils.getFmulaMode(arrrr, 2, objjj);
                            break;
                        }
                    }
                    delete obj[AK.zyywkk];
                }


                if (obj[AK.zyynkk]) {
                    lll = o[AK.L] ? o[AK.L] : o[AK.zyL] > o[AK.yyL] ? o[AK.zyL] : o[AK.yyL];
                    for (i = 0; i < obj[AK.zyynkk].length; i++) {
                        if (Number(obj[AK.zyynkk][i][AK.minL]) <= lll && Number(obj[AK.zyynkk][i][AK.maxL]) >= lll) {
                            expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.zyynkk][i][AK.KKGZ], 2);

                            objjj = { express: expressarr[0], L: lll };
                            obj['D' + AK.zyynkk] = obj[AK.zyynkk][i][AK.KKGZ];
                            if (o[AK.zyL]) {
                                // arrrr = AModelFmulaUtils.getExpressByMould(expressarr,  o[AK.zyL]);
                                // objjj = { express: expressarr[0], L: o[AK.zyL] };
                                obj[AK.p_zynsk] = obj[AK.zyynkk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj).toString();
                                // arrrr = AModelFmulaUtils.getExpressByMould(expressarr,  o[AK.yyL]);
                                // objjj = { express: expressarr[0], L: o[AK.yyL] };
                                obj[AK.p_yynsk] = obj[AK.zyynkk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj).toString();
                            }
                            obj['C' + AK.zyynkk] = AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                            // obj['E' + AK.zyynkk] = AModelFmulaUtils.getFmulaMode(arrrr, 2, objjj);
                            break;
                        }
                    }
                    delete obj[AK.zyynkk];

                }

                if (obj[AK.zyfbk]) {
                    www = o[AK.W] ? o[AK.W] : o[AK.zyW] > o[AK.yyW] ? o[AK.zyW] : o[AK.yyW];
                    for (i = 0; i < obj[AK.zyfbk].length; i++) {
                        if (Number(obj[AK.zyfbk][i][AK.minW]) <= www && Number(obj[AK.zyfbk][i][AK.maxW]) >= www) {
                            expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.zyfbk][i][AK.KKGZ], 2);
                            // arrrr = AModelFmulaUtils.getExpressByMould(expressarr, www);
                            objjj = { express: expressarr[0], L: www };
                            obj['D' + AK.zyfbk] = obj[AK.zyfbk][i][AK.KKGZ];
                            if (o[AK.zyL]) {
                                // arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.zyL]);
                                // objjj = { express: expressarr[0], L: o[AK.zyL] };
                                obj[AK.p_zfenkw] = obj[AK.zyfbk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj).toString();
                            }
                            if (o[AK.yyL]) {
                                // arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.yyL]);
                                // objjj = { express: expressarr[0], L: o[AK.yyL] };
                                obj[AK.p_yfenkw] = obj[AK.zyfbk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj).toString();
                            }
                            obj['C' + AK.zyfbk] = AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                            // obj['E' + AK.zyfbk] = AModelFmulaUtils.getFmulaMode(arrrr, 2, objjj);
                            break;
                        }
                    }
                    delete obj[AK.zyfbk];
                }


                if (obj[AK.fbpk]) {
                    www = o[AK.W] ? o[AK.W] : o[AK.zyW] > o[AK.yyW] ? o[AK.zyW] : o[AK.yyW];
                    for (i = 0; i < obj[AK.fbpk].length; i++) {
                        if (Number(obj[AK.fbpk][i][AK.minW]) <= www && Number(obj[AK.fbpk][i][AK.maxW]) >= www) {
                            expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.fbpk][i][AK.KKGZ], 2);
                            // arrrr = AModelFmulaUtils.getExpressByMould(expressarr, www);
                            objjj = { express: expressarr[0], L: www };
                            obj['D' + AK.fbpk] = obj[AK.fbpk][i][AK.KKGZ];
                            if (o[AK.zyW]) {
                                // arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.zyW]);
                                // objjj = { express: expressarr[0], L: o[AK.zyW] };
                                obj[`C` + AK.p_zfenkw] = obj[AK.fbpk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                            }
                            if (o[AK.yyW]) {
                                // arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.yyW]);
                                // objjj = { express: expressarr[0], L: o[AK.yyW] };
                                obj[`C` + AK.p_yfenkw] = obj[AK.fbpk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                            }
                            obj['C' + AK.fbpk] = AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                            // obj['E' + AK.fbpk] = AModelFmulaUtils.getFmulaMode(arrrr, 2, objjj);
                            break;
                        }
                    }
                    delete obj[AK.fbpk];
                }


                if (obj[AK.fbsk]) {
                    for (i = 0; i < obj[AK.fbsk].length; i++) {
                        if (Number(obj[AK.fbsk][i][AK.minH]) <= o[AK.H] && Number(obj[AK.fbsk][i][AK.maxH]) >= o[AK.H]) {
                            expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.fbsk][i][AK.KKGZ], 2);
                            arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.H]);
                            objjj = { express: expressarr[0], L: o[AK.H] };
                            obj['D' + AK.fbsk] = obj[AK.fbsk][i][AK.KKGZ];
                            obj[AK.p_fbsk] = obj[AK.fbsk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj).toString();
                            // obj['E' + AK.fbsk] = AModelFmulaUtils.getFmulaMode(arrrr, 2, objjj);
                            break;
                        }
                    }
                    delete obj[AK.fbsk];
                }


                if (obj[AK.sldw]) {
                    for (i = 0; i < obj[AK.sldw].length; i++) {
                        if (Number(obj[AK.sldw][i][AK.minW]) <= o[AK.W] && Number(obj[AK.sldw][i][AK.maxW]) >= o[AK.W]) {
                            obj[AK.SLW] = Number(obj[AK.sldw][i][AK.SLW]);
                            obj[AK.SLH] = Number(obj[AK.sldw][i][AK.SLH]);
                            expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.sldw][i][AK.DWGZ], 2);
                            arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.W]);
                            objjj = { express: expressarr[0], L: o[AK.W] };
                            obj['D' + AK.sldw] = obj[AK.sldw][i][AK.DWGZ];
                            obj['C' + AK.sldw] = AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                            // obj['E' + AK.sldw] = AModelFmulaUtils.getFmulaMode(arrrr, 2, objjj);
                            break;
                        }
                    }
                    delete obj[AK.sldw];
                }


                if (obj[AK.hldw]) {
                    for (i = 0; i < obj[AK.hldw].length; i++) {
                        if (Number(obj[AK.hldw][i][AK.minL]) <= o[AK.L] && Number(obj[AK.hldw][i][AK.maxL]) >= o[AK.L]) {
                            obj[AK.HLW] = Number(obj[AK.hldw][i][AK.HLW]);
                            obj[AK.HLH] = Number(obj[AK.hldw][i][AK.HLH]);
                            expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.hldw][i][AK.DWGZ], 2);
                            arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.L]);
                            objjj = { express: expressarr[0], L: o[AK.L] };
                            obj['D' + AK.hldw] = obj[AK.hldw][i][AK.DWGZ];
                            obj['C' + AK.hldw] = AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                            // obj['E' + AK.hldw] = AModelFmulaUtils.getFmulaMode(arrrr, 2, objjj);
                            break;
                        }
                    }
                    delete obj[AK.hldw];
                }

                break;
            case 23:
            case 61:
            case 41:
                if (obj[AK.zybkk]) {
                    lll = o[AK.L] ? o[AK.L] : o[AK.L1] > o[AK.L2] ? o[AK.L1] : o[AK.L2];
                    for (i = 0; i < obj[AK.zybkk].length; i++) {
                        if (Number(obj[AK.zybkk][i][AK.minL]) <= lll && Number(obj[AK.zybkk][i][AK.maxL]) >= lll) {
                            expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.zybkk][i][AK.KKGZ], 2);
                            // arrrr = AModelFmulaUtils.getExpressByMould(expressarr, lll);
                            objjj = { express: expressarr[0], L: lll };
                            obj['D' + AK.zybkk] = obj[AK.zybkk][i][AK.KKGZ];
                            if (o[AK.L1]) {
                                // arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.L1]);
                                // objjj = { express: expressarr[0], L: o[AK.L1] };
                                obj[AK.p_zkkw] = obj[AK.zybkk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj).toString();
                            }
                            if (o[AK.L2]) {
                                // arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.L2]);
                                // objjj = { express: expressarr[0], L: o[AK.L2] };
                                obj[AK.p_ykkw] = obj[AK.zybkk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj).toString();
                            }
                            obj['C' + AK.zybkk] = AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                            // obj['E' + AK.zybkk] = AModelFmulaUtils.getFmulaMode(arrrr, 2, objjj);
                            break;
                        }
                    }
                }

                break;
            case 38:
                if (obj[AK.zybkk]) {
                    lll = o[AK.L] ? o[AK.L] : o[AK.zyL] > o[AK.yyL] ? o[AK.zyL] : o[AK.yyL];
                    for (i = 0; i < obj[AK.zybkk].length; i++) {
                        if (Number(obj[AK.zybkk][i][AK.minL]) <= lll && Number(obj[AK.zybkk][i][AK.maxL]) >= lll) {
                            expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.zybkk][i][AK.KKGZ], 2);
                            arrrr = AModelFmulaUtils.getExpressByMould(expressarr, lll);
                            objjj = { express: expressarr[0], L: lll };
                            obj['D' + AK.zybkk] = obj[AK.zybkk][i][AK.KKGZ];
                            obj['C' + AK.zybkk] = obj[AK.zybkk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                            // obj['E' + AK.zybkk] = AModelFmulaUtils.getFmulaMode(arrrr, 2, objjj);
                            break;
                        }
                    }
                }

                if (obj[AK.Lsk]) {
                    lll = o[AK.L];
                    for (i = 0; i < obj[AK.Lsk].length; i++) {
                        if (Number(obj[AK.Lsk][i][AK.minL]) <= lll && Number(obj[AK.Lsk][i][AK.maxL]) >= lll) {
                            expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.Lsk][i][AK.KKGZ], 2);
                            arrrr = AModelFmulaUtils.getExpressByMould(expressarr, lll);
                            objjj = { express: expressarr[0], L: lll };
                            obj['D' + AK.Lsk] = obj[AK.Lsk][i][AK.KKGZ];
                            obj['C' + AK.Lsk] = obj[AK.Lsk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj).toString();
                            // obj['E' + AK.Lsk] = AModelFmulaUtils.getFmulaMode(arrrr, 2);
                            break;
                        }
                    }
                }

                if (obj[AK.Lpk]) {
                    lll = o[AK.W];
                    for (i = 0; i < obj[AK.Lpk].length; i++) {
                        if (Number(obj[AK.Lpk][i][AK.minW]) <= lll && Number(obj[AK.Lpk][i][AK.maxW]) >= lll) {
                            expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.Lpk][i][AK.KKGZ], 2);
                            arrrr = AModelFmulaUtils.getExpressByMould(expressarr, lll);
                            objjj = { express: expressarr[0], L: lll };
                            obj['D' + AK.Lpk] = obj[AK.Lpk][i][AK.KKGZ];
                            obj['C' + AK.Lpk] = obj[AK.Lpk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj).toString();
                            // obj['E' + AK.Lpk] = AModelFmulaUtils.getFmulaMode(arrrr, 2);
                            break;
                        }
                    }
                }

                break;
            case 34:
                if (obj[AK.sxbkk]) {
                    for (i = 0; i < obj[AK.sxbkk].length; i++) {
                        if (Number(obj[AK.sxbkk][i][AK.minL]) <= o[AK.L] && Number(obj[AK.sxbkk][i][AK.maxL]) >= o[AK.L] &&
                            Number(obj[AK.sxbkk][i][AK.minW]) <= o[AK.W] && Number(obj[AK.sxbkk][i][AK.maxW]) >= o[AK.W]) {
                            expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.sxbkk][i][AK.KKGZ], 2);
                            arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.L]);
                            objjj = { express: expressarr[0], L: o[AK.L] };
                            obj['D' + AK.sxbkk] = obj[AK.sxbkk][i][AK.KKGZ];
                            obj['C' + AK.sxbkk] = obj[AK.sxbkk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                            // obj['E' + AK.sxbkk] = AModelFmulaUtils.getFmulaMode(arrrr, 2, objjj);
                            break;
                        }
                    }
                }

                if (obj[AK.zybkk]) {
                    lll = o[AK.W];
                    for (i = 0; i < obj[AK.zybkk].length; i++) {
                        if (Number(obj[AK.zybkk][i][AK.minL]) <= o[AK.L] && Number(obj[AK.zybkk][i][AK.maxL]) >= o[AK.L] &&
                            Number(obj[AK.zybkk][i][AK.minW]) <= o[AK.W] && Number(obj[AK.zybkk][i][AK.maxW]) >= o[AK.W]) {
                            expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.zybkk][i][AK.KKGZ], 2);
                            objjj = { express: expressarr[0], L: o[AK.W] };
                            arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.W]);
                            obj['D' + AK.zybkk] = obj[AK.zybkk][i][AK.KKGZ];
                            obj['C' + AK.zybkk] = obj[AK.zybkk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                            // obj['E' + AK.zybkk] = AModelFmulaUtils.getFmulaMode(arrrr, 2, objjj);
                            break;
                        }
                    }
                }

                break;
            case 39:
                if (obj[AK.xbkk]) {
                    for (i = 0; i < obj[AK.xbkk].length; i++) {
                        if (Number(obj[AK.xbkk][i][AK.minL]) <= o[AK.L] && Number(obj[AK.xbkk][i][AK.maxL]) >= o[AK.L]) {
                            expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.xbkk][i][AK.KKGZ], 2);
                            arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.L]);
                            objjj = { express: expressarr[0], L: o[AK.L] };
                            obj['D' + AK.xbkk] = obj[AK.xbkk][i][AK.KKGZ];
                            obj['C' + AK.xbkk] = obj[AK.xbkk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj).toString();
                            // obj['E' + AK.xbkk] = AModelFmulaUtils.getFmulaMode(arrrr, 2, objjj);
                            break;
                        }
                    }
                }

                if (obj[AK.zypkk]) {
                    lll = o[AK.W];
                    for (i = 0; i < obj[AK.zypkk].length; i++) {
                        if (Number(obj[AK.zypkk][i][AK.minW]) <= o[AK.W] && Number(obj[AK.zypkk][i][AK.maxW]) >= o[AK.W]) {
                            expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.zypkk][i][AK.KKGZ], 2);
                            objjj = { express: expressarr[0], L: o[AK.W] };
                            arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.W]);
                            obj['D' + AK.zybkk] = obj[AK.zypkk][i][AK.KKGZ];
                            obj['C' + AK.zybkk] = obj[AK.zypkk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                            // obj['E' + AK.zybkk] = AModelFmulaUtils.getFmulaMode(arrrr, 2, objjj);
                            break;
                        }
                    }
                }

                if (obj[AK.gckcbk]) {
                    lll = obj[AK.gckL];
                    for (i = 0; i < obj[AK.gckcbk].length; i++) {
                        if (Number(obj[AK.gckcbk][i][AK.minL]) <= o[AK.W] && Number(obj[AK.gckcbk][i][AK.maxL]) >= lll) {
                            expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.gckcbk][i][AK.KKGZ], 2);
                            objjj = { express: expressarr[0], L: lll };
                            arrrr = AModelFmulaUtils.getExpressByMould(expressarr, lll);
                            obj['D' + AK.gckcbk] = obj[AK.gckcbk][i][AK.KKGZ];
                            obj['C' + AK.gckcbk] = obj[AK.gckcbk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj).toString();
                            // obj['E' + AK.gckcbk] = AModelFmulaUtils.getFmulaMode(arrrr, 2, objjj);
                            break;
                        }
                    }
                }

                if (obj[AK.gckkbk]) {
                    lll = obj[AK.gckW];
                    for (i = 0; i < obj[AK.gckkbk].length; i++) {
                        if (Number(obj[AK.gckkbk][i][AK.minL]) <= o[AK.W] && Number(obj[AK.gckkbk][i][AK.maxL]) >= lll) {
                            expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.gckkbk][i][AK.KKGZ], 2);
                            objjj = { express: expressarr[0], L: lll };
                            arrrr = AModelFmulaUtils.getExpressByMould(expressarr, lll);
                            obj['D' + AK.gckkbk] = obj[AK.gckkbk][i][AK.KKGZ];
                            obj['C' + AK.gckkbk] = obj[AK.gckkbk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj).toString();
                            // obj['E' + AK.gckkbk] = AModelFmulaUtils.getFmulaMode(arrrr, 2, objjj);
                            break;
                        }
                    }
                }

                if (obj[AK.sldw]) {
                    for (i = 0; i < obj[AK.sldw].length; i++) {
                        if (Number(obj[AK.sldw][i][AK.minW]) <= o[AK.W] && Number(obj[AK.sldw][i][AK.maxW]) >= o[AK.W]) {
                            obj[AK.SLW] = Number(obj[AK.sldw][i][AK.SLW]);
                            obj[AK.SLH] = Number(obj[AK.sldw][i][AK.SLH]);
                            expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.sldw][i][AK.DWGZ], 2);
                            arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.W]);
                            objjj = { express: expressarr[0], L: o[AK.W] };
                            obj['D' + AK.sldw] = obj[AK.sldw][i][AK.DWGZ];
                            obj['C' + AK.sldw] = AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                            // obj['E' + AK.sldw] = AModelFmulaUtils.getFmulaMode(arrrr, 2, objjj);
                            break;
                        }
                    }
                }

                if (obj[AK.hldw]) {
                    for (i = 0; i < obj[AK.hldw].length; i++) {
                        if (Number(obj[AK.hldw][i][AK.minL]) <= o[AK.L] && Number(obj[AK.hldw][i][AK.maxL]) >= o[AK.L]) {
                            obj[AK.HLW] = Number(obj[AK.hldw][i][AK.HLW]);
                            obj[AK.HLH] = Number(obj[AK.hldw][i][AK.HLH]);
                            obj[AK.SP] = Number(obj[AK.hldw][i][AK.SP]);
                            obj[AK.EP] = Number(obj[AK.hldw][i][AK.EP]);
                            expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.hldw][i][AK.DWGZ], 2);
                            arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.L]);
                            objjj = { express: expressarr[0], L: o[AK.L] };
                            obj['D' + AK.hldw] = obj[AK.hldw][i][AK.DWGZ];
                            obj['C' + AK.hldw] = AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                            // obj['E' + AK.hldw] = AModelFmulaUtils.getFmulaMode(arrrr, 2, objjj);
                            break;
                        }
                    }
                }

                break;
            case 33:
            case 67:
                if (obj[AK.sbkk]) {
                    lll = o[AK.L] ? o[AK.L] : o[AK.zyL] > o[AK.yyL] ? o[AK.zyL] : o[AK.yyL];
                    for (i = 0; i < obj[AK.sbkk].length; i++) {
                        if (Number(obj[AK.sbkk][i][AK.minL]) <= lll && Number(obj[AK.sbkk][i][AK.maxL]) >= lll) {
                            expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.sbkk][i][AK.KKGZ], 2);
                            arrrr = AModelFmulaUtils.getExpressByMould(expressarr, 8000);
                            objjj = { express: expressarr[0], L: 8000 };
                            obj['D' + AK.sbkk] = obj[AK.sbkk][i][AK.KKGZ];
                            obj['C' + AK.sbkk] = obj[AK.sbkk][i][AK.KKGZ];
                            // obj['E' + AK.sbkk] = AModelFmulaUtils.getFmulaMode(arrrr, 2, objjj);
                            break;
                        }
                    }
                }

                if (obj[AK.Lsk]) {
                    lll = o[AK.L];
                    for (i = 0; i < obj[AK.Lsk].length; i++) {
                        if (Number(obj[AK.Lsk][i][AK.minL]) <= lll && Number(obj[AK.Lsk][i][AK.maxL]) >= lll) {
                            expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.Lsk][i][AK.KKGZ], 2);
                            arrrr = AModelFmulaUtils.getExpressByMould(expressarr, lll);
                            objjj = { express: expressarr[0], L: lll };
                            obj['D' + AK.Lsk] = obj[AK.Lsk][i][AK.KKGZ];
                            obj['C' + AK.Lsk] = obj[AK.Lsk][i][AK.KKGZ];
                            // obj['E' + AK.Lsk] = AModelFmulaUtils.getFmulaMode(arrrr, 2);
                            break;
                        }
                    }
                }

                if (obj[AK.Lpk]) {
                    lll = o[AK.L];
                    for (i = 0; i < obj[AK.Lpk].length; i++) {
                        if (Number(obj[AK.Lpk][i][AK.minL]) <= lll && Number(obj[AK.Lpk][i][AK.maxL]) >= lll) {
                            expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.Lpk][i][AK.KKGZ], 2);
                            arrrr = AModelFmulaUtils.getExpressByMould(expressarr, lll);
                            objjj = { express: expressarr[0], L: lll };
                            obj['D' + AK.Lpk] = obj[AK.Lpk][i][AK.KKGZ];
                            obj['C' + AK.Lpk] = obj[AK.Lpk][i][AK.KKGZ];
                            // obj['E' + AK.Lpk] = AModelFmulaUtils.getFmulaMode(arrrr, 2);
                            break;
                        }
                    }
                }

                if (obj[AK.ddfbk]) {
                    lll = o[AK.L];
                    for (i = 0; i < obj[AK.ddfbk].length; i++) {
                        if (Number(obj[AK.ddfbk][i][AK.minL]) <= lll && Number(obj[AK.ddfbk][i][AK.maxL]) >= lll) {
                            expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.ddfbk][i][AK.KKGZ], 2);
                            arrrr = AModelFmulaUtils.getExpressByMould(expressarr, lll);
                            objjj = { express: expressarr[0], L: lll };
                            obj['D' + AK.ddfbk] = obj[AK.ddfbk][i][AK.KKGZ];
                            obj['C' + AK.ddfbk] = AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj).toString();
                            obj[AK.p_dingpbfbk] = obj[AK.p_dipbfbk] = obj[AK.ddfbk][i][AK.KKGZ];
                            break;
                        }
                    }
                }

                if (obj[AK.wbcck]) {
                    lll = o[AK.L];
                    for (i = 0; i < obj[AK.wbcck].length; i++) {
                        if (Number(obj[AK.wbcck][i][AK.minL]) <= lll && Number(obj[AK.wbcck][i][AK.maxL]) >= lll) {
                            expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.wbcck][i][AK.KKGZ], 2);
                            arrrr = AModelFmulaUtils.getExpressByMould(expressarr, lll);
                            objjj = { express: expressarr[0], L: lll };
                            obj['D' + AK.wbcck] = obj[AK.wbcck][i][AK.KKGZ];
                            obj['C' + AK.wbcck] = AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj).toString();
                            obj[AK.p_wbcck] = obj[AK.wbcck][i][AK.KKGZ];
                            // obj['E' + AK.wbcck] = AModelFmulaUtils.getFmulaMode(arrrr, 2);
                            break;
                        }
                    }
                }

                break;
            case 27:
            case 32:
                if (obj[AK.zybkk]) {
                    lll = o[AK.W];
                    for (i = 0; i < obj[AK.zybkk].length; i++) {
                        if (Number(obj[AK.zybkk][i][AK.minW]) <= lll && Number(obj[AK.zybkk][i][AK.maxW]) >= lll) {
                            expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.zybkk][i][AK.KKGZ], 2);
                            arrrr = AModelFmulaUtils.getExpressByMould(expressarr, lll);
                            objjj = { express: expressarr[0], L: lll };
                            obj['D' + AK.zybkk] = obj[AK.zybkk][i][AK.KKGZ];
                            obj['C' + AK.zybkk] = obj[AK.zybkk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                            // obj['E' + AK.zybkk] = AModelFmulaUtils.getFmulaMode(arrrr, 2);
                            break;
                        }
                    }
                }

                if (obj[AK.zyykpk]) {
                    lll = o[AK.L] ? o[AK.L] : o[AK.zyL] > o[AK.yyL] ? o[AK.zyL] : o[AK.yyL];
                    for (i = 0; i < obj[AK.zyykpk].length; i++) {
                        if (Number(obj[AK.zyykpk][i][AK.minL]) <= lll && Number(obj[AK.zyykpk][i][AK.maxL]) >= lll) {
                            expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.zyykpk][i][AK.KKGZ], 2);

                            objjj = { express: expressarr[0], L: lll };
                            obj['D' + AK.zyykpk] = obj[AK.zyykpk][i][AK.KKGZ];
                            if (o[AK.zyL]) {
                                // arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.zyL],0,1,Number(id) === 32?true:false);
                                // objjj = { express: expressarr[0], L: o[AK.zyL] };
                                obj[`C` + AK.p_szykw] = obj[AK.zyykpk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                                obj[`C` + AK.p_xzykw] = obj[`C` + AK.p_szykw];
                                // arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.yyL],0,1,Number(id) === 32?true:false);
                                // objjj = { express: expressarr[0], L: o[AK.yyL] };
                                obj[`C` + AK.p_syykw] = obj[AK.zyykpk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                                obj[`C` + AK.p_xyykw] = obj[`C` + AK.p_syykw];
                            }
                            obj['C' + AK.zyykpk] = AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                            // obj['E' + AK.zyykpk] = AModelFmulaUtils.getFmulaMode(arrrr, 2);
                            break;
                        }
                    }
                }

                break;
            case 11:
            case 26:
            case 35:
            case 43:
                if (obj[AK.zybkk]) {
                    lll = o[AK.H];
                    for (i = 0; i < obj[AK.zybkk].length; i++) {
                        if (Number(obj[AK.zybkk][i][AK.minH]) <= lll && Number(obj[AK.zybkk][i][AK.maxH]) >= lll) {
                            expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.zybkk][i][AK.KKGZ], 2);
                            arrrr = AModelFmulaUtils.getExpressByMould(expressarr, lll);
                            objjj = { express: expressarr[0], L: lll };
                            obj['D' + AK.zybkk] = obj[AK.zybkk][i][AK.KKGZ];
                            obj['C' + AK.zybkk] = obj[AK.zybkk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                            // obj['E' + AK.zybkk] = AModelFmulaUtils.getFmulaMode(arrrr, 2);
                            break;
                        }
                    }
                }

                if (obj[AK.zyykpk]) {
                    lll = o[AK.L] ? o[AK.L] : o[AK.zyL] > o[AK.yyL] ? o[AK.zyL] : o[AK.yyL];
                    for (i = 0; i < obj[AK.zyykpk].length; i++) {
                        if (Number(obj[AK.zyykpk][i][AK.minL]) <= lll && Number(obj[AK.zyykpk][i][AK.maxL]) >= lll) {
                            expressarr = AModelFmulaUtils.getRegExpByType(obj[AK.zyykpk][i][AK.KKGZ], 2);

                            objjj = { express: expressarr[0], L: lll };
                            obj['D' + AK.zyykpk] = obj[AK.zyykpk][i][AK.KKGZ];
                            if (o[AK.zyL]) {
                                // arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.zyL]);
                                // objjj = { express: expressarr[0], L: o[AK.zyL] };
                                obj[`C` + AK.p_szykw] = obj[AK.zyykpk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                                obj[`C` + AK.p_xzykw] = obj[`C` + AK.p_szykw];
                                // arrrr = AModelFmulaUtils.getExpressByMould(expressarr, o[AK.yyL]);
                                // objjj = { express: expressarr[0], L: o[AK.yyL] };
                                obj[`C` + AK.p_syykw] = obj[AK.zyykpk][i][AK.KKGZ];//AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                                obj[`C` + AK.p_xyykw] = obj[`C` + AK.p_syykw];
                            }
                            obj['C' + AK.zyykpk] = AModelFmulaUtils.getFmulaMode(arrrr, 1, objjj);
                            // obj['E' + AK.zyykpk] = AModelFmulaUtils.getFmulaMode(arrrr, 2);
                            break;
                        }
                    }
                }

                break;

            case 47: {
                if (obj[AK.djxgbz]) {
                    lll = o[AK.L];
                    for (i = 0; i < obj[AK.djxgbz].length; i++) {
                        if (Number(obj[AK.djxgbz][i][AK.minL]) <= lll && Number(obj[AK.djxgbz][i][AK.maxL]) >= lll) {

                            obj['D' + AK.djxgbz] = obj[AK.djxgbz][i][AK.DWGZ];
                            obj['C' + AK.djxgbz] = obj[AK.djxgbz][i][AK.DWGZ];
                            break;
                        }
                    }
                }
                break;
            }
            case 54:
            case 55: {
                if (obj[AK.zybkk]) {
                    lll = Number(o[AK.left_mbH]);
                    for (i = 0; i < obj[AK.zybkk].length; i++) {
                        if (Number(obj[AK.zybkk][i][AK.min_mbH]) <= lll && Number(obj[AK.zybkk][i][AK.max_mbH]) >= lll) {

                            obj['D' + AK.zybkk] = obj[AK.zybkk][i][AK.KKGZ];
                            obj['C' + AK.zybkk] = obj[AK.zybkk][i][AK.KKGZ];
                            obj[AK.p_zkkw] = obj[AK.zybkk][i][AK.KKGZ];
                            break;
                        }
                    }
                    lll = Number(o[AK.right_mbH]);
                    for (i = 0; i < obj[AK.zybkk].length; i++) {
                        if (Number(obj[AK.zybkk][i][AK.min_mbH]) <= lll && Number(obj[AK.zybkk][i][AK.max_mbH]) >= lll) {

                            obj['D' + AK.zybkk] = obj[AK.zybkk][i][AK.KKGZ];
                            obj['C' + AK.zybkk] = obj[AK.zybkk][i][AK.KKGZ];
                            obj[AK.p_ykkw] = obj[AK.zybkk][i][AK.KKGZ];
                            break;
                        }
                    }
                }
                break;
            }

            case 56: {
                if (obj[AK.zybkk]) {
                    lll = Number(o[AK.L]);
                    for (i = 0; i < obj[AK.zybkk].length; i++) {
                        if (Number(obj[AK.zybkk][i][AK.minL]) <= lll && Number(obj[AK.zybkk][i][AK.maxL]) >= lll) {

                            obj['D' + AK.zybkk] = obj[AK.zybkk][i][AK.KKGZ];
                            let strAry = obj[AK.zybkk][i][AK.KKGZ].split(',');
                            if (strAry.length === 3) {
                                let sv = Number(strAry[0]);
                                let ev = Number(strAry[2]);
                                let cv = Number(obj[AK.L]) - sv - ev;
                                obj['C' + AK.zybkk] = sv + ',' + cv + ',' + ev;
                                obj[AK.p_zykw] = sv + ',' + cv + ',' + ev;
                                obj[AK.p_yykw] = sv + ',' + cv + ',' + ev;
                            }
                            break;
                        }
                    }
                }
                break;
            }

            case 57: {
                if (obj[AK.sbkk]) {
                    lll = Number(o[AK.L]);
                    for (i = 0; i < obj[AK.sbkk].length; i++) {
                        if (Number(obj[AK.sbkk][i][AK.minL]) <= lll && Number(obj[AK.sbkk][i][AK.maxL]) >= lll) {

                            obj['D' + AK.sbkk] = obj[AK.sbkk][i][AK.KKGZ];
                            let strAry = obj[AK.sbkk][i][AK.KKGZ].split(',');
                            if (strAry.length === 4) {
                                let onev = Number(strAry[0]);
                                let twov = Number(strAry[1]);
                                let endv = Number(strAry[3]);
                                let cv = Number(obj[AK.L]) - onev - twov - endv;
                                obj['C' + AK.sbkk] = onev + ',' + twov + ',' + cv + ',' + endv;
                                obj[AK.p_spkw] = onev + ',' + twov + ',' + cv + ',' + endv;
                                obj[AK.p_szkw] = onev + ',' + twov + ',' + cv + ',' + endv;
                            }
                            break;
                        }
                    }
                }
                break;
            }

            case 58: {
                let strAry: string[];
                let onev: number, cv: number;
                if (obj[AK.sbkk]) {
                    lll = Number(o[AK.L1]);
                    for (i = 0; i < obj[AK.sbkk].length; i++) {
                        if (Number(obj[AK.sbkk][i][AK.minL]) <= lll && Number(obj[AK.sbkk][i][AK.maxL]) >= lll) {

                            obj['D' + AK.sbkk] = obj[AK.sbkk][i][AK.KKGZ];
                            strAry = obj[AK.sbkk][i][AK.KKGZ].split(',');
                            if (strAry.length === 2) {
                                onev = Number(strAry[0]);
                                cv = Number(obj[AK.L1]) - onev;
                                obj['C' + AK.sbkk] = onev + ',' + cv;
                                obj[AK.p_skspkw] = onev + ',' + cv;
                                obj[AK.p_skszkw] = onev + ',' + cv;
                            }
                            break;
                        }
                    }
                }

                let strAry2: string[];
                let onev2: number, cv2: number;
                if (obj[AK.xbkk]) {
                    lll = Number(o[AK.L2]);
                    for (i = 0; i < obj[AK.xbkk].length; i++) {
                        if (Number(obj[AK.xbkk][i][AK.minL]) <= lll && Number(obj[AK.xbkk][i][AK.maxL]) >= lll) {

                            obj['D' + AK.xbkk] = obj[AK.xbkk][i][AK.KKGZ];
                            strAry2 = obj[AK.xbkk][i][AK.KKGZ].split(',');
                            if (strAry2.length === 2) {
                                onev2 = Number(strAry2[1]);
                                cv2 = Number(obj[AK.L2]) - onev2;
                                obj['C' + AK.xbkk] = onev2 + ',' + cv2;
                                obj[AK.p_xkspkw] = onev + ',' + cv;
                                obj[AK.p_xkszkw] = onev + ',' + cv;
                            }
                            break;
                        }
                    }
                }
                break;
            }

            case 59:
            case 60: {
                AModelFmulaUtils.getCHolePosByType(obj, o);
                break;
            }
        }
    }

    private static getCHolePosByType( obj: any, o: any): void {
        let lll: number, i: number;
        let strAry1: string[];
        let startv1: number, endv1: number, cv1: number;
        if (obj[AK.sbkk]) {
            lll = Number(o[AK.mid_spL]);
            for (i = 0; i < obj[AK.sbkk].length; i++) {
                if (Number(obj[AK.sbkk][i][AK.minL]) <= lll && Number(obj[AK.sbkk][i][AK.maxL]) >= lll) {

                    obj['D' + AK.sbkk] = obj[AK.sbkk][i][AK.KKGZ];
                    strAry1 = obj[AK.sbkk][i][AK.KKGZ].split(',');
                    if (strAry1.length === 3) {
                        startv1 = Number(strAry1[0]);
                        endv1 = Number(strAry1[2]);
                        cv1 = Number(obj[AK.mid_spL]) - startv1 - endv1;
                        obj['C' + AK.sbkk] = startv1 + ',' + cv1 + ',' + endv1;
                        obj[AK.p_sbkw] = startv1 + ',' + cv1 + ',' + endv1;
                    }
                    break;
                }
            }
        }

        let strAry2: string[];
        let startv2: number, endv2: number;
        if (obj[AK.zbkk]) {
            lll = Number(o[AK.left_spL]);
            for (i = 0; i < obj[AK.zbkk].length; i++) {
                if (Number(obj[AK.zbkk][i][AK.minL]) <= lll && Number(obj[AK.zbkk][i][AK.maxL]) >= lll) {

                    obj['D' + AK.zbkk] = obj[AK.zbkk][i][AK.KKGZ];
                    strAry2 = obj[AK.zbkk][i][AK.KKGZ].split(',');
                    if (strAry2.length === 2) {
                        startv2 = Number(strAry2[0]);
                        endv2 = Number(obj[AK.left_spL]) - startv2;
                        obj['C' + AK.zbkk] = startv2 + ',' + endv2;
                        obj[AK.p_zbkw] = startv2 + ',' + endv2;
                    }
                    break;
                }
            }
        }

        let strAry3: string[];
        let onev3: number, endv3: number;
        if (obj[AK.ybkk]) {
            lll = Number(o[AK.right_spL]);
            for (i = 0; i < obj[AK.ybkk].length; i++) {
                if (Number(obj[AK.ybkk][i][AK.minL]) <= lll && Number(obj[AK.ybkk][i][AK.maxL]) >= lll) {

                    obj['D' + AK.ybkk] = obj[AK.ybkk][i][AK.KKGZ];
                    strAry3 = obj[AK.ybkk][i][AK.KKGZ].split(',');
                    if (strAry3.length === 2) {
                        onev3 = Number(strAry3[1]);
                        endv3 = Number(obj[AK.right_spL]) - onev3;
                        obj['C' + AK.ybkk] = onev3 + ',' + endv3;
                        obj[AK.p_ybkw] = onev3 + ',' + endv3;
                    }
                    break;
                }
            }
        }

    }


    static getHolesbyExpress3(str: string, l: number, type: number = 2, obj: any = null, key: string = null, num: number = 0): any[] {
        let arrrr;
        let expressarr = AModelFmulaUtils.getRegExpByType(str, 2, type === 3 ? false : true);
        if (type === 3) {
            arrrr = AModelFmulaUtils.getExpressByMould(expressarr, l, 0, 3);
        } else {
            arrrr = AModelFmulaUtils.getExpressByMould(expressarr, l, 0, 1, num === 10002 ? true : false);
        }
        return arrrr;
    }
    /**
     * 公式返回空位打孔 str 公式  l长度 type 1公式得出叠加 2普通 3坐标形式  
     * num 10000 反转数组  10001删除数组余数  10002前后小于30不处理 10008不处理小于30和不合并
     */
    static getHolesbyExpress(str: string, l: number, type: number = 2, obj: any = null, key: string = null, num: number = 0): any[] {
        let arrrr, strr: string, nummm: number = 0;
        if(!str || str == ''){
            return [];
        }
        str = str.toString();
        if(str.indexOf('g') > -1){
            num = 10000;
        }
        if (num === 10001) {
            arrrr = str.split(',');
            arrrr.map((value) => { nummm += Number(value) });
            if (l > nummm) {
                str += (',' + (l - nummm));
            }
            nummm = num;
            num = 0;
        }
        let expressarr = AModelFmulaUtils.getRegExpByType(str, 2, type === 3 ? false : true);

        if (type === 3) {
            arrrr = AModelFmulaUtils.getExpressByMould(expressarr, l, 0, 3);
        } else {
            if(num == 10008){
                arrrr = AModelFmulaUtils.getExpressByMould(expressarr, l, 0, 1, true);
            }else{
                arrrr = AModelFmulaUtils.getExpressByMould(expressarr, l, 0, 1, num === 10002 ? true : false);
            }
        }
        let arrrr2 = [];
        if (num === 10000) {
            arrrr.reverse();
            num = 0;
        } else if (num === 10002) {
            num = 0;
        }
        let oooo = { express: expressarr[0], L: l, num: expressarr[0].indexOf('~') > -1 ? 10001 : 1 };
        arrrr2 = AModelFmulaUtils.getFmulaMode(arrrr, type, oooo, num);
        if (obj && key) {
            if (nummm === 10001) {
                arrrr.pop();
            }
            obj[key] = type === 1 ? arrrr2.toString() : (AModelFmulaUtils.getFmulaMode(arrrr, type === 3 ? 3 : 1, oooo, num)).toString();
        }
        if (!arrrr2 || arrrr2.length < 1 || (arrrr2.length === 1 && arrrr2[0] === 0)) {
            if (obj && key) obj[key] = '';
            return [];
        }
        return arrrr2;
    }

    /**
     * 公式2返回坐标空位打孔 str 公式  l长度 w宽 
     */
    static getHolesbyExpress2(str: string, l: number, w: number, obj: any = null, key: string = null, type: number = 3): any[] {
        let expressarr = AModelFmulaUtils.getRegExpByType(str, 2);
        let arrrr = AModelFmulaUtils.getExpressByMould(expressarr, l, w, 3);
        let arrrr2 = [];
        arrrr2 = AModelFmulaUtils.getFmulaMode(arrrr, 3);
        if (obj && key) {
            obj[key] = type === 3 ? arrrr2.toString() : (AModelFmulaUtils.getFmulaMode(arrrr, 3)).toString();
        }
        return arrrr2;
    }

    /**
     * 边框打孔 type：1-2上下 3-4左右 obj当前模板得数据
     */
    static getHolesbyFrame(type: number, l: number, w: number, obj: any): void {
        let i: number, j: number, k: number, arr: any;
        let holes = [];
        let expressarr = [];
        if (type === 1 || type === 2) {
            arr = obj[1].formDTOList[1].formSubDTOList[0].formSubCollectionList;
            for (i = 0; i < arr.length; i++) {

                if (l >= arr[i].formSubCollectionValueList[0].value && l <= arr[i].formSubCollectionValueList[1].value &&
                    w >= arr[i].formSubCollectionValueList[2].value && w <= arr[i].formSubCollectionValueList[3].value) {
                    expressarr = this.getRegExpByType(arr[i].formSubCollectionValueList[4].value, 2);
                    this.getExpressByMould(expressarr);
                    break;
                }
            }
        }
    }

    /**
     * 解析公式 arr解析公式的字符串打散成数组 l长度 w宽度 type 1是一条线  2坐标 isbo是否不开启大于30
     */
    static getExpressByMould(arr: string[], l: number = 0, w: number = 0, type: number = 1, isbo: boolean = false): any {
        let i: number, j: number, k: number;
        let areaarr = [];//区域数组
        let unknownarr = [];//未知数组
        let changearr = [];//可变数组
        let temparr: string[], temparr2: string[], temparr3: string[];
        let regExp = new RegExp('N[0-9][(]');
        let regExp2 = new RegExp('[)][*]N[0-9]');
        let getreg: any, opt: any;
        let arrr = [];
        let obj = {};
        let num: number = 0;
        let bo: boolean = false;
        let num5 = 0, num6 = 0;
        for (i = 0; i < arr.length; i++) {
            arrr = [];
            if (arr[i].indexOf('~') > -1) {
                areaarr.push({ id: i, arr: arr[i] });//
            } else if (arr[i].indexOf('N') > -1) {
                if (regExp.test(arr[i].toString())) {
                    temparr = arr[i].split('*');
                    j = temparr[0].indexOf('N') > -1 ? 0 : 1;
                    getreg = this.getRegExpByType(temparr[j]);
                    opt = getreg[0].substring(1, getreg[0].length - 1);
                    if (opt.indexOf('|') > -1) {
                        temparr2 = opt.split('|');
                        if (temparr.length > 1) {
                            if (j === 0) {
                                changearr.push({
                                    id: i, num: temparr2, len: temparr[1], type: this.getArraySort(temparr2), nums: this.getArrayMul(temparr2, temparr[1]),
                                    num2: Math.abs(this.getMul(temparr2[0], temparr[1]) - this.getMul(temparr2[temparr2.length - 1], temparr[1])), isnum: true
                                });
                            } else {
                                changearr.push({
                                    id: i, num: temparr[0], len: temparr2, type: this.getArraySort(temparr2), nums: this.getArrayMul(temparr2, temparr[0]),
                                    num2: Math.abs(this.getMul(temparr2[0], temparr[0]) - this.getMul(temparr2[temparr2.length - 1], temparr[0])), isnum: false
                                });
                            }
                        } else {
                            changearr.push({
                                id: i, num: temparr2, len: 1, type: this.getArraySort(temparr2), nums: this.getArrayMul(temparr2, 1),
                                num2: Math.abs(this.getMul(temparr2[0], 1) - this.getMul(temparr2[temparr2.length - 1], 1)), isnum: true
                            });
                        }
                    }
                } else {
                    if (regExp2.test(arr[i].toString())) {
                        getreg = this.getRegExpByType(arr[i]);
                        // temparr = arr[i].split('*');
                        opt = getreg[0].substring(1, getreg[0].length - 1);
                        temparr2 = opt.split(',');
                        for (j = 0; j < temparr2.length; j++) {
                            if (temparr2[j].indexOf('*') > -1) {
                                temparr = temparr2[j].split('*');
                                for (k = 0; k < Number(temparr[1]); k++) {
                                    arrr.push(temparr[0]);
                                }
                            } else {
                                arrr.push(temparr2[j]);
                            }
                        }
                        unknownarr.push({ id: i, num: arrr, len: 'N0' });
                    } else {
                        temparr = arr[i].split('*');
                        unknownarr.push({ id: i, num: temparr[0], len: temparr[1] });
                    }
                }
            } else if (arr[i].indexOf('W') > -1 || arr[i].indexOf('L') > -1) {
                opt = arr[i].replaceAll('W', w.toString());
                opt = opt.replaceAll('L', l.toString());
                if (opt.indexOf('(') > -1) {
                    opt = this.getRegExpByType(opt);
                    opt = opt[0].substring(1, opt[0].length - 1);
                }
                temparr = opt.split(',');
                for (j = 0; j < temparr.length; j++) {
                    if (temparr[j].indexOf('-') > -1) {
                        if (temparr[j].split('-')[1].indexOf('/') > -1) {
                            temparr2 = temparr[j].split('-')[1].split('/');
                            num5 = temparr2.length > 1 ? Number(temparr2[1]) : 1;
                            num6 = Number(temparr[j].split('-')[0]) - Number(temparr2[0]) / num5
                        } else {
                            temparr2 = temparr[j].split('-')[0].split('/');
                            num5 = temparr2.length > 1 ? Number(temparr2[1]) : 1;
                            num6 = Number(temparr2[0]) / num5 - Number(temparr[j].split('-')[1])
                        }
                        if (!((j === 0 && num6 >= w) || (j === 1 && num6 >= l))) {
                            arrr.push(num6);
                        } else {
                            if (temparr.length < 2) {
                                arrr.push(num6);
                            } else {
                                arrr = [];
                                break;
                            }
                        }
                    } else if (temparr[j].indexOf('+') > -1) {
                        temparr2 = temparr[j].split('+')[0].split('/');
                        num5 = temparr2.length > 1 ? Number(temparr2[1]) : 1;
                        num6 = Number(Number(temparr2[0]) / num5 + Number(temparr[j].split('+')[1]))
                        if (!((j === 0 && num6 >= w) || (j === 1 && num6 >= l))) {
                            arrr.push(num6);
                        } else {
                            if (temparr.length < 2) {
                                arrr.push(num6);
                            } else {
                                arrr = [];
                                break;
                            }
                        }
                    } else if (temparr[j].indexOf('/') > -1) {
                        temparr2 = temparr[j].split('/');
                        num5 = Number(temparr2[0]) / Number(temparr2[1]);
                        arrr.push(Number(temparr2[0]) / Number(temparr2[1]));
                    } else {
                        num6 = Number(temparr[j]);
                        if (!((j === 0 && num6 >= w) || (j === 1 && num6 >= l))) {
                            arrr.push(temparr[j]);
                        } else {
                            arrr = [];
                            break;
                        }
                    }
                }
                obj[i] = arrr;
            } else if (arr[i].indexOf('(') > -1) {
                getreg = this.getRegExpByType(arr[i]);
                opt = getreg[0].substring(1, getreg[0].length - 1);
                temparr = opt.split(',');
                for (j = 0; j < temparr.length; j++) {
                    if (temparr[j].indexOf('*') > -1) {
                        temparr2 = temparr[j].split('*');
                        for (k = 0; k < Number(temparr2[1]); k++) {
                            arrr.push(temparr2[0]);
                            num += Number(temparr2[0]);
                        }
                    } else {
                        arrr.push(temparr[j]);
                        num += Number(temparr[j]);
                    }
                }
                obj[i] = arrr;
            } else if (arr[i].indexOf('*') > -1) {
                temparr = arr[i].split('*');
                if ((temparr.length < 2 && temparr.length > 0) || (temparr.length == 2 && temparr[1] == ``)) {
                    unknownarr.push({ id: i, num: temparr[0], len: 'N0' });
                } else {
                    if (temparr[1] === '') {
                        unknownarr.push({ id: i, num: temparr[0], len: 'N0' });
                    } else {
                        for (j = 0; j < Number(temparr[1]); j++) {
                            arrr.push(temparr[0]);
                            num += Number(temparr[0]);
                        }
                        obj[i] = arrr;
                    }
                }
            } else {
                obj[i] = [arr[i]];
                num += Number(arr[i]);
            }
        }
        // let num2 = l - num;
        for (i = 0; i < changearr.length; i++) {
            arrr = [];
            if (arr[changearr[i].id].indexOf('*') > -1) {
                num5 = changearr[i].isnum ? changearr[i]['len'] : changearr[i]['len'][0];
                for (k = 0; k < num5; k++) {
                    arrr.push(changearr[i].isnum ? changearr[i]['num'][0] : changearr[i]['num']);
                }
            } else {
                arrr.push(changearr[i]['nums'][0]);
            }
            obj[changearr[i].id] = arrr;
            num += Number(changearr[i]['nums'][0]);
        }
        let num2 = MeshGeomLib.getInt(l - num,2);
        let num3 = 0;
        let min = 0, max = 0;
        if (unknownarr.length > 0) {
            if (unknownarr[0]['num'] instanceof Array) {
                for (i = 0; i < unknownarr[0]['num'].length; i++) {
                    num3 += Number(unknownarr[0]['num'][i]);
                }
            } else {
                num3 += Number(unknownarr[0]['num']);
            }
        }
        let num4 = num3 === 0 ? num2 : num2 % num3;
        let nummm = 0;
        if (areaarr.length > 0) {
            temparr = areaarr[0].arr.split('~');
            if (!(num4 >= Number(temparr[0]) && num4 <= Number(temparr[1]))) {
                if (changearr.length < 1) {
                    if (num3 === 0) {
                        nummm = num2;
                    } else {
                        num4 = Math.floor(num2 / num3);
                        nummm = num2 % num3;
                        if (nummm > Number(temparr[1]) || nummm < Number(temparr[0])) {
                            for (j = num4; j >= 0; j--) {
                                nummm += num3;
                                if (nummm > Number(temparr[1])) {
                                    break;
                                }
                                if (nummm >= Number(temparr[0]) && nummm <= Number(temparr[1])) {
                                    num4 = j - 1;
                                    break;
                                }
                            }
                        }

                    }
                } else {
                    for (i = 0; i < changearr.length; i++) {
                        arrr = [];
                        //num4 > temparr[1]) 降 num4 < temparr[0] 升
                        nummm = 0;
                        if (num4 > Number(temparr[1]) && changearr[i].type === 2 && (changearr[i]['num2'] + Number(temparr[1])) >= num4) {//降
                            num5 = changearr[i]['nums'][0];
                            for (j = 1; j < changearr[i]['nums'].length; j++) {
                                nummm = num4 - (changearr[i]['nums'][j] - num5);
                                if (nummm >= Number(temparr[0]) && nummm <= Number(temparr[1])) {
                                    bo = true;
                                    if (arr[changearr[i].id].indexOf('*') > -1) {
                                        num5 = changearr[i].isnum ? changearr[i]['len'] : changearr[i]['len'][j];
                                        for (k = 0; k < num5; k++) {
                                            arrr.push(changearr[i].isnum ? changearr[i]['num'][j] : changearr[i]['num']);
                                        }
                                    } else {
                                        arrr.push(changearr[i]['nums'][j]);
                                    }
                                    obj[changearr[i].id] = arrr;
                                    num4 = (Math.floor(num2 / num3));
                                    break;
                                }
                            }

                        } else {
                            num6 = num4;
                            if (num6 > Number(temparr[1])) {
                                num6 = num2 - (Math.floor(num2 / num3) + 1) * num3;
                            }
                            if (num6 < Number(temparr[0]) && changearr[i].type === 1 && (changearr[i]['num2'] - Number(temparr[0])) >= Math.abs(num6)) {//升
                                num5 = changearr[i]['nums'][0];
                                for (j = 1; j < changearr[i]['nums'].length; j++) {
                                    nummm = num6 + (num5 - changearr[i]['nums'][j]);
                                    if (nummm >= Number(temparr[0]) && nummm <= Number(temparr[1])) {
                                        bo = true;
                                        if (arr[changearr[i].id].indexOf('*') > -1) {
                                            num5 = changearr[i].isnum ? changearr[i]['len'] : changearr[i]['len'][j];
                                            for (k = 0; k < num5; k++) {
                                                arrr.push(changearr[i].isnum ? changearr[i]['num'][j] : changearr[i]['num']);
                                            }
                                        } else {
                                            arrr.push(changearr[i]['nums'][j]);
                                        }
                                        obj[changearr[i].id] = arrr;
                                        if (num4 > Number(temparr[1])) {
                                            num4 = (Math.floor(num2 / num3) + 1);
                                        } else {
                                            num4 = (Math.floor(num2 / num3));
                                        }
                                        break;
                                    }
                                }
                            }
                        }
                        if (bo) {
                            break;
                        }
                    }
                }
            } else {
                nummm = num4;
                num4 = Math.floor(num2 / num3);
            }
        } else {
            num4 = Math.floor(num2 / num3);
            if (unknownarr.length > 1) {
                nummm = num2 > 0 ? num2 : 0;
            } else {
                nummm = num3 === 0 ? num2 : num2 % num3;
            }
        }
        if (unknownarr.length > 0) {
            arrr = []
            if (unknownarr[0]['num'] instanceof Array) {
                for (i = 0; i < num4; i++) {
                    for (j = 0; j < unknownarr[0]['num'].length; j++) {
                        arrr.push(unknownarr[0]['num'][j]);
                    }
                }
            } else {
                for (i = 0; i < num4; i++) {
                    arrr.push(unknownarr[0]['num']);
                }
            }
            obj[unknownarr[0].id] = arrr;
        }
        if (areaarr.length > 0) {
            // obj[areaarr[0].id] = [nummm];
            if (nummm < Number(temparr[0]) || nummm > Number(temparr[1])) {
                obj = {};
            }
        }
        arrr = [];
        let kkkk;
        for (kkkk in obj) {
            arrr = arrr.concat(obj[kkkk]);
        }
        if (type === 2) {
            arrr = this.getPointArrByNumArr(arrr);
        } else {
            if (type !== 3) {
                unknownarr = [], num4 = 0;
                if (l > 0) {
                    // if(!(areaarr.length > 0) && arrr.length > 1){
                    //     arrr.splice(arrr.length-1,1);
                    // }
                    for (i = 0; i < arrr.length; i++) {
                        if (i === 0 || (i !== 0 && (Number(arrr[i])) > 16.5)) {
                            num4 = num4 + (Number(arrr[i]));
                            if (l > num4) {
                                unknownarr.push(arrr[i]);
                            } else {
                                nummm = l - (num4 - Number(arrr[i]));
                                break;
                            }
                        }
                    }
                    if (num4 < l && !(areaarr.length > 0)) {
                        nummm = l - num4;
                    }
                    if (unknownarr.length > 0 && unknownarr[0] !== '' && nummm > 0) {
                        unknownarr.push(nummm.toString());
                    }
                    if (unknownarr.length > 1 && !isbo) {
                        if (Number(unknownarr[0]) < 30) {
                            unknownarr[1] = Number(unknownarr[1]) + Number(unknownarr[0]);
                            unknownarr.shift();
                        }
                        if (Number(unknownarr[unknownarr.length - 1]) < 30) {
                            unknownarr[unknownarr.length - 2] = Number(unknownarr[unknownarr.length - 2]) + Number(unknownarr[unknownarr.length - 1]);
                            unknownarr.pop();
                        }
                    }
                    arrr = unknownarr;
                } else {
                    if (arrr.length > 0 && arrr[0] !== '' && nummm > 0) {
                        arrr.push(nummm.toString());
                    }
                }

                // if(arrr.length > 0 && areaarr.length > 0 && areaarr[0].id == 0){
                //     arrr.reverse();
                // }
            }
        }
        return arrr;
    }

    /**
     * 解析公式数组  转换成 1连续同样得转化为 M*n  2转化为单条线得坐标   3转化为二维坐标   4过滤前面位数
     */
    static getFmulaMode(arr: any[], type: number = 1, obj: any = null, filterNum: number = 0): any[] {
        if (arr.length < 1) {
            return [];
        }
        if (arr[0].toString().indexOf('(') > -1) {
            return arr;
        }
        let i: number, j: number, num: number = 0, num2: number = 1, lenn: number = 0, booo: boolean = false;
        let arrrr = [];
        if (type === 1) {
            let arrr2 = arr;
            if (obj && obj['express'] && obj['express'].indexOf('~') > -1) {
                // num2 = 0;
                // lenn = arr.length > 1?arr.length-1:arr.length;
                // for (i = arr.length - 1; i >= 0; i--) {
                //     num2 += MeshGeomLib.getInt(arr[i]);
                //     if(num2 >= 30){
                //         arrrr.push(num2);
                //     }
                // }
                // arrr2 = [];
                // arrr2.push(arrrr[0]);
                // for (i = 1; i < arrrr.length; i++) { 
                //     arrr2.push(arrrr[i]-arrrr[i-1]);
                // }
                // arrr2.push(MeshGeomLib.getInt(arr[0]));
                // arrrr = [];
                arrr2.reverse();
            }
            if (filterNum > 0 && filterNum !== 10008) {
                num = 0;
                for (i = filterNum - 1; i >= 0; i--) {
                    num += MeshGeomLib.getInt(arrr2[i],2);
                    arrr2.splice(i, 1);
                }
                arrr2[0] = MeshGeomLib.getInt(arrr2[0],2) + num;
            }
            num2 = 1;
            num = Number(arrr2[0]);
            if (arrr2.length === 1) {
                arrrr.push(num);
            }
            for (i = 1; i < arrr2.length; i++) {
                if (i === arrr2.length - 1) {
                    if (num2 !== 1 && num !== 10008) {
                        arrrr.push(MeshGeomLib.getInt(num,2) + '*' + num2);
                    } else {
                        arrrr.push(MeshGeomLib.getInt(num,2));
                    }
                    arrrr.push(MeshGeomLib.getInt(arrr2[i],2));
                    continue;
                }
                if (Number(arrr2[i]) === num) {
                    num2 += 1;
                } else {
                    if (num2 !== 1 && num !== 10008) {
                        arrrr.push(MeshGeomLib.getInt(num,2) + '*' + num2);
                    } else {
                        arrrr.push(MeshGeomLib.getInt(num,2));
                    }
                    num = MeshGeomLib.getInt(arrr2[i],2);
                    num2 = 1;
                }
            }
        } else if (type === 2) {
            lenn = arr.length > 1 ? arr.length - 1 : arr.length;
            if (obj && obj['express'] && obj['express'].indexOf('~') > -1) {
                num2 = 0;
                for (i = arr.length - 1; i >= 0; i--) {
                    num2 += MeshGeomLib.getInt(arr[i],2);
                    if (!(i === 0 && obj['num'] && obj['num'] === 10001)) {
                        arrrr.push(num2);
                    }
                }
                // arrrr.reverse();
            } else {
                for (i = 0; i < lenn; i++) {
                    num += MeshGeomLib.getInt(arr[i],2);
                    arrrr.push(num);
                }
            }
            if (filterNum != 10008 && filterNum > 0) {
                num = 0;
                for (i = filterNum - 1; i >= 0; i--) {
                    num += MeshGeomLib.getInt(arrrr[i],2);
                    arrrr.splice(i, 1);
                }
            }
        } else if (type === 3) {
            arrrr = this.getPointArrByNumArr(arr);
        }
        return arrrr;
    }

    static getPointArrByNumArr(arr: any[]): any[] {
        let newarr = [];
        for (let i = 0; i < arr.length; i = i + 2) {
            if (i + 1 < arr.length) {
                newarr.push(new Vector2(MeshGeomLib.getInt(arr[i]), MeshGeomLib.getInt(arr[i + 1])));
            }
        }
        return newarr;
    }

    static getArrayMul(arr: any[], num: any): any[] {
        let arrrr: any[] = [];
        for (let i = 0; i < arr.length; i++) {
            arrrr.push(arr[i] * Number(num));
        }
        return arrrr;
    }

    static getMul(...args: any[]): number {
        let mul = args[0];
        for (let i = 1; i < args.length; i++) {
            mul *= Number(args[i]);
        }
        return mul;
    }

    static getArraySort(arr: String[]): number {
        let type: number = 0;
        if (arr && arr.length > 1) {
            if (arr[0] > arr[1]) {
                type = 1;//降
            } else {
                type = 2;//升
            }
        }
        return type;
    }


    /**
     * 获取正则表达式 id 1取括号里面内容 2取逗号分隔 3取大括号里面的内容
     */
    static getRegExpByType(str: string, id: number = 1, isdel: boolean = false): any {
        let regExp, opt, i: number, num: number;
        if (id === 1) {
            regExp = /\((.+?)\)/g;
            opt = str.match(regExp);
        } else if (id === 2) {
            regExp = /(?![^(]*\)),/g;
            str = str.replaceAll(regExp, '_');
            str = str.replaceAll(',', '@');
            str = str.replaceAll('_', ',');
            num = str.indexOf('~');
            opt = str.split(',');
            for (i = 0; i < opt.length; i++) {
                opt[i] = opt[i].replaceAll('@', ',');
            }
            if (isdel && !(num > -1) && opt.length > 1 && !(str.indexOf('~') > -1)) {
                opt.splice(opt.length - 1, 1);
            }

        } else if (id === 3) {
            regExp = /(?<=\{)(.+?)(?=\})/g;
            opt = str.match(regExp);
        }
        if (!opt) {
            opt = [];
        }
        return opt;
    }

    /**
     * 中文符号转为英文
     */
    static chinaByEng(str: string): string {
        str = str.replace(/\（/g, "(").replace(/\）/g, ")");
        str = str.replace(/，/g, ",").replace(/：/g, ":");
        return str;
    }


    static isNumber(val: any): boolean {
        // var regPos = /^[0-9]+.?[0-9]*/; //判断是否是数字。

        // if(regPos.test(val.toString()) ){
        //     return true;
        // }else{
        //     return false;
        // }
        return val instanceof Number;
    }

    static getStringByVec2Arr(vecs: Vector2[]): string {
        let str = '';
        for (let i = 0; i < vecs.length; i++) {
            if (i === 0) {
                str += '(' + vecs[i].x + ',' + vecs[i].y + ')';
            } else {
                str += ',(' + vecs[i].x + ',' + vecs[i].y + ')';
            }
        }
        return str;
    }

    static getAluNames(): any {
        let o = {
            '1526489675882041346': 'minL',//最小长度
            '1526489765380100098': 'maxL',//最大长度
            '1526490399135240193': 'minW',//最小宽度
            '1526490473072431105': 'maxW',//最大宽度
            '1526492381036154882': 'W',//宽度
            '1526492470983004162': 'L',//长度
            '1526495047661391874': 'SKH',//上边框高度
            '1526495111909740545': 'XKH',//下边框高度
            '1526495220999393282': 'ZKH',//左边框高度
            '1526496760136994817': 'YKH',//右边框高度
            '1526496974134579202': 'ZYKH',//左右边框厚度
            '1526497282671775745': 'SXKH',//上下边框厚度
            '1526497434664964097': 'BKDia',//边框孔直径
            '1526497766979670017': 'BKKJMDis',//边框孔距接触面距离
            '1526497936924479490': 'JLH',//角铝高度
            '1526498083259551746': 'XBNXJD',//斜边内斜角度
            '1526505694965010434': 'KKGZ',//开孔规则
            '1526743460093104130': 'HLW',//横肋宽度
            '1526743649088442370': 'HLH',//横肋高度
            '1526743956677726210': 'SLW',//竖肋宽度
            '1526744081198223361': 'SLH',//竖肋高度
            '1526746884884926465': 'DWGZ',//定位规则
            '1526752497044033537': 'LGKDia',//螺杆孔直径
            '1526752651679633410': 'GMT',//光面厚度
            '1526836170774810626': 'KKCB',//开孔长边
            '1526836500946227201': 'KKDB',
            '1526844606220603394': 'minH',
            '1526844746016755714': 'maxH',
            '1526845138775576577': 'BKH',
            '1527166486341226497': 'DJXQW',
            '1527166621674639361': 'DJXQH',
            '1527167208805896194': 'minZYL',
            '1527167313965486082': 'maxZYL',
            '1527167415803187202': 'minZYW',
            '1527173413787930626': 'maxZYW',
            '1527173525704544257': 'minYYL',
            '1527173744408137730': 'maxYYL',
            '1527173876159614977': 'minYYW',
            '1527173991607832578': 'maxYYW',
            '1527188997216931841': 'H',
            '1528668858116739074': 'XQNXJL',
            '1528670007486058497': 'YCJL',
            '1528670897810968578': 'zyL',
            '1528671350254735362': 'zyW',
            '1528671448976068610': 'yyL',
            '1528671557298163714': 'yyW',
            '1528673463349284866': 'ZYYJXKH',
            '1528673743763673090': 'ZYYFBH',
            '1528675121433153538': 'minAngle',
            '1528676462041763841': 'maxAngle',
            '1528677086842064897': 'ZCGdia',
            '1528677359350190082': 'zcgL',
            '1528678187624566786': 'ZYKH',
            '1528678331250118657': 'SXKH',
            '1528678500934881282': 'ztjbW',
            '1528678687363305473': 'gdjL',
            '1528678979903426562': 'gdjW',
            '1528679070018048002': 'gdjH',
            '1528679176213630977': 'gdjjbW',
            '1528679286515437569': 'GDJKGDDW',
            '1528679569417048065': 'qkW',
            '1528679813299048449': 'pkH',
            '1528679903275257858': 'pkW',
            '1529337210904514561': 'bkT',
            '1529660457445494785': 'fbH',
            '1529669494471921666': 'Lsv',
            '1529697731386281986': 'fjcmjl',
            '1529702323608096769': 'arcR',
            '1529703825860988929': 'minL1',
            '1529703945830666241': 'maxL1',
            '1529704048033271810': 'minW1',
            '1529704162520993794': 'maxW1',
            '1529704413940158465': 'minL2',
            '1529704499025809410': 'maxL2',
            '1529704625920282625': 'minW2',
            '1529704734426927105': 'maxW2',
            '1529706063425703938': 'W1',
            '1529706424156819457': 'W2',
            '1529706645821591553': 'L1',
            '1529706808548003842': 'L2',
            '1530034984037912578': 'djxqW',
            '1530035286170406913': 'djxqH',
            '1530061298501423106': 'XBWXJL',
            '1530106681738924034': 'zyybkT',
            '1531813659901169666': 'minPBW',
            '1531813807150600194': 'maxPBW',
            '1531842795906535426': 'pbW',
            '1531938250078294018': 'LL',
            '1544144926961307649': 'JLW',


            '1526479959751659521': 'bksz',
            '1526494724079226881': 'lsz',
            '1526494858343092225': 'gmsz',
            '1526477756701872130': 'jbsz',
            '1526479753299628034': 'cycc',
            '1529999589564747778': 'fbsk',
            '1529999495541035009': 'fbpk',
            '1529767014875271170': 'Rpkk',
            '1529766659311538178': 'Lpkk',
            '1529702685731721218': 'sbkk',
            '1529659321506336769': 'zyykpk',
            '1528731290818318337': 'zyfbk',
            '1528731096164864002': 'xbkpk',
            '1528730664285769729': 'zyysk',
            '1526501548870340610': 'zybkk',
            '1526501390426312705': 'sxbkk',
            '1526746471934726146': 'sldw',
            '1526744843852713986': 'hldw',
            '1526837138186833921': 'spkfa',
            '1526836950839857154': 'dpkfa',
            '1526753097223770113': 'lgkdw',
            '1531207875328741378': 'zyywkk',
            '1531208174294536194': 'zyynkk',
            '1531906672769896450': 'Lsk',
            '1531906766294487041': 'Lpk',
            '1531928922713755649': 'xbkk',
            '1531930210105036801': 'zyskk',
            '1531931990452867074': 'zypkk',
            '1531932260687679489': 'gckcbk',
            '1531932363783671810': 'gckkbk',

            '1532245164494426114': 'minTBS',
            '1532245275844808706': 'maxTBS',
            '1532246460790214657': 'TBS',
            '1534839864871096321': 'gckL',
            '1534839968877252609': 'gckW',
            '1534840255063003138': 'zybkL',
            '1534840548395847682': 'sjdpW',
            '1534840663227502593': 'sjdpH',
            '1535068895126228993': 'SP',
            '1544144355361558529': 'EP',

            '1532247090518822914': 'ddfbk',
            '1532247373596594177': 'wbcck',
            '1535072297105231873': 'zbkk',
            '1534840394389393409': 'p_qkw',

            '1551508274514235393': 'zyxqsz',
            '1551508643763982337': 'xqbj',
            '1552139428921610242': 'zyxqjl',

            '1552204698386173953': 'txdsx_topL',
            '1552204509453750274': 'dsxbj',
            '1552204916120883201': 'txdsx_bottomL',
            '1552205056558764033': 'txdsx_H',
            '1551817867542925313': 'xcjd',
            '1551499068314750977': 'dkW',
            '1551499432925597698': 'dkL',

            '1554397723912835074': 'xbkH1',
            '1564171582895558658': 'xbkH2',
            '1554397984077123585': 'xbk_cjkj',
            '1554398119238569985': 'zybk_cjkj',
            '1554398309920018434': 'sxbk_cjkj',

            '1559027507921948674': 'dphd',
            '1558997677817991170': 'tphd',
            '1558997765457973250': 'kkzj',
            '1558998840072212481': 'jgW',
            '1558998922519646209': 'jgH',
            '1559027307769761793': 'dpW',
            '1559051174202576898': 'dpzj',
            '1559052456686522370': 'dpjdb',
            '1559057501201108993': 'lgzj',
            '1559062322473865217': 'hjxchd',
            '1559063267962261505': 'left_mbH',
            '1559063360769626113': 'left_mbW',
            '1559063509579337729': 'right_mbH',
            '1559063624973029377': 'right_mbW',
            '1559064161801998338': 'bkkjjcm_dis',

            '1559385221747445761': 'min_mbH',
            '1559385351020089346': 'max_mbH',
            '1559424222978117633': 'cgdjxg_dis',
            '1559427544430678018': 'xjgdjxg_dis',
            '1559427361378668545': 'xjdjxg_dis',

            '1559429833144930305': 'jxgH',

            '1559481226459353090': 'min_left_spL',
            '1559481341165178881': 'max_left_spL',
            '1559481421494489089': 'min_right_spL',
            '1559481531406225410': 'max_right_spL',
            '1559481641326350338': 'min_mid_spL',
            '1559481723610206210': 'max_mid_spL',
            '1559481977902469121': 'min_left_SL',
            '1559482125768462338': 'max_left_SL',
            '1559482227765547009': 'min_right_SL',
            '1559482326881144833': 'max_right_SL',
            '1559482747087491073': 'left_spL',
            '1559482821699964929': 'right_spL',
            '1559482891065364482': 'mid_spL',
            '1559483738348326913': 'left_SL',
            '1559483871303569410': 'right_SL',

            '1559718226777083906': 'fghd',
            '1559023374246612994': 'jxgW',
            '1559022879264215042': 'djxgL',
            '1559814939642695682': 'xfmkzj',
            '1564822880099766274': 'xjcd',
            '1564823016829882369': 'xjkd',
            '1559025017012883457': 'djxgbz',
            '1559486236878442498': 'ybkk',
            '1567754663153897473': 'fgW',
            '1567754752991694850': 'fgH',
            '1570657074881236993': 'H1',
            '1570657123480637442': 'H2',
            '1570655932260552705': 'minH2',
            '1570656068416049153': 'maxH2',
            '1570655870532980737': 'maxH1',
            '1570655807593254914': 'minH1',
            '1597510704779235329': 'zhcs',
            '1597515595144761345': 'bllx'


        };
        return o;
    }

}